Legged robots are being developed that walk by changing the relative postures among the left leg link, the torso, and the right leg link.
Data that instructs the movement of the left leg tip, the torso and the right leg tip is required to make a legged robot walk. Of these, the position of the torso must be a suitable value relative to the positions of leg tips, and when this value is not suitable, the robot falls down.
In order to obtain a torso position that will not cause a legged robot to fall down, complicated calculations that take into account the robot's dynamics are needed. This calculation process is summarized below.
(1) Specify time-series data for instructing the positions of the left leg tip and right leg tip of the robot.
(2) Specify a position wherein a ZMP of the robot must be located, taking into account the positions of the leg tips. ZMP (Zero Moment Point) refers to the point on the ground with respect to which the moment of the resultant force of the gravitational force, ground reaction force and inertial force acting on a robot constitutes zero. If the ZMP is within the area where the sole of the leg tip comes into flat contact with the ground, the robot will not topple over. Vice versa, to prevent the robot from falling down, the ZMP must be within the area where the sole of the leg tip comes into flat contact with the ground. Accordingly, set a target ZMP that will satisfy the following relationship, taking into account the position of the leg tip that is making contact with the ground. That is, set the ZMP such that while the one leg link (for example, the left leg link) is off the ground, the target ZMP exists within the area of the sole of the leg tip making contact with the ground (right leg tip), and when this one leg link (left leg link) makes contact with the ground, constituting a state wherein both leg links are in contact with the ground, the ZMP begins to shift to within the area where the sole of the leg tip of the newly grounded leg link (left leg link), and completely shifts to within the area where the sole of the leg tip of the newly grounded leg link (left leg link) before the leg link that had been in contact with the ground up until this point (right leg link) is lifted off the ground. A ZMP, which is set like this, will be called the target ZMP. If the actual ZMP shifts in accordance with the target ZMP, the robot will continue walking without falling down.
(3) When a target ZMP, which changes in association with the changes of positions of the leg tips, is to be specified, calculate the dynamics of the robot by hypothesizing a time-series change in the torso position. Since the leg tip trajectory is specified when calculations are made, the posture of the robot will be determined once the torso position is hypothesized. When the posture of the robot is determined, it becomes possible to calculate the position of the ZMP for this posture. In order to calculate the ZMP position, the affects of the inertial force acting on the robot, as well as static factors, must be taken into consideration. By including the hypothesized time-series change in the torso position into the calculation, it becomes possible to calculate the location of a ZMP that takes into account the dynamics of the robot. Since the position of the ZMP can be calculated by hypothesizing a time-series change in the torso position (torso trajectory), it is possible to seek a torso trajectory (a time-series change in the torso position) that realizes a ZMP that coincides with the target ZMP.
Data indicating a time-series change in a torso position sought as described above is called torso gait data, data indicating a time-series change in an originally specified leg tip position is called leg tip gait data, and the general term given to both is called gait data. If a robot walks in accordance with gait data, the actual ZMP will coincide with the target ZMP, and the robot will be able to continue walking without falling down.
Gait data is provided as changes in position relative to time. Since position, velocity and acceleration are related to each other and one of these quantities can be calculated from another of these quantities, the gait date may be provided as changes in any of position, velocity or acceleration. In this specification, since gait data will be described in terms of any of position, velocity or acceleration, it will be called as data for describing motion.
A method for calculating torso motion, which causes a ZMP that coincides with a target ZMP, is a typical example of a method for calculating a time-series change in target torso motion that enables a robot to continue walking following changes in target leg tip motion, but it is not limited to this. Generally speaking, a legged robot comprises a torso, and a leg link, which are swingably connected to the torso, and when leg tip gait data describing a time-series change of a target leg tip motion is instructed, calculates torso gait data describing a time-series change of a target torso motion, which enables continuous walking following the change of the target leg tip motion, and uses the instructed leg tip gait data and calculated torso gait data to walk. The calculated torso gait data can also comprise data related to the tilt angle of the torso, in addition to data related to the torso position (If the tilt angle of the torso is set in advance in accordance with a prescribed pattern, it may not be necessary to calculate the tilt angle.) Data related to the position and the tilt angle of the torso can be the position and the angle themselves, or a rate of change thereof, or acceleration thereof.
An unanticipated disturbance force can act on a robot. An unanticipated disturbance force resulting from unexpected bumps on the ground can affect a robot, and an external force which pushes or pulls the robot can be applied to the robot from the outside. If a robot deviates from its gait data due to structural bending in the robot, backlash in the robot's joints, or the delayed response of the robot, the effect is the same as when an unanticipated disturbance acts on the robot.
When an unanticipated disturbance force acts on a robot, the robot will lose its balance. Accordingly, the walking control apparatus disclosed in Japanese Laid-open Patent Application No. 5-305579 is proposed.
In the walking control apparatus disclosed in Japanese Laid-open Patent Application No. 5-305579, the ZMP position is measured by measuring the ground reaction force or ground reaction moment, which act on the robot. The measured ZMP position is compared against the target ZMP position, and walking is stabilized by providing deviation of ZMP position as feedback to the posture and target positions of the soles of both leg tips.